HTML 77.2%
TypeScript 10.5%
Python 9.6%
JavaScript 2.5%
1import type { Metadata } from 'next';2import { permanentRedirect } from 'next/navigation';3import { entityMetadata, loadEntity } from '@/components/entity/load';4import { OrganizationPage } from '@/components/research/organization-page';5import { routes } from '@/lib/site';67type Params = { params: Promise<{ slug: string }> };89export async function generateMetadata({ params }: Params): Promise<Metadata> {10 const { slug } = await params;11 return entityMetadata('companies', slug);12}1314/** Organization page 3.0 (companies, labs, universities). */15export default async function CompanyPage({ params }: Params) {16 const { slug } = await params;17 const d = await loadEntity('companies', slug);18 if (d.slug !== slug) permanentRedirect(routes.entity(d));19 return <OrganizationPage d={d} canonical={routes.entity(d)} />;20}21